package com.hsgene.consumables.service;

import com.hsgene.common.util.result.ApiResult;
import com.hsgene.common.util.support.Pagination;
import com.hsgene.consumables.condition.PurchaseConditon;
import com.hsgene.consumables.domain.GeneticGoodsPurchase;
import com.hsgene.consumables.dto.ConsumablesInventoryInfoDto;
import com.hsgene.consumables.dto.ConsumablesSelectListInfoDto;
import com.hsgene.consumables.dto.GeneticGoodsPurchaseDto;

import java.util.List;

public interface ConsumablesReceiptService {

    /**
     * 入库
     *
     * @param receiptInfo 入库信息
     * @param createrId   入库人员
     * @param remarkInfos 备注
     * @return
     */
    int addConsumablesReceiptInfo(List<GeneticGoodsPurchase> receiptInfo, String createrId, String remarks);

    /**
     * 获取商品名称列表
     *
     * @param page page
     * @return
     */
    List<ConsumablesSelectListInfoDto> getSelectInfo(int page);

    /**
     * 获取入库记录信息列表
     *
     * @return
     */
    ApiResult<Pagination<GeneticGoodsPurchaseDto>> getReceiptRecordInfo(PurchaseConditon condition);

    /**
     * 获取入库详情
     *
     * @param purchaseNo 入库编号
     * @return
     */
    List<GeneticGoodsPurchaseDto> getReceiptDetailInfo(String purchaseNo);

    /**
     * 查询商品库存
     *
     * @param goodsId 商品id
     * @return
     */
    List<ConsumablesInventoryInfoDto> getInventoryInfoByGoodsId(String goodsId);
}
